MySQL CROSS JOIN Keyword

MySQL-এ CROSS JOIN কীওয়ার্ড ব্যবহার করে দুটি টেবিল থেকে সমস্ত রেকর্ড নির্বাচন করতে শিখুন

এসকিউএল ক্রস জয়েন কীওয়ার্ড

CROSS JOIN কীওয়ার্ড উভয় টেবিল (টেবিল1 এবং টেবিল2) থেকে সমস্ত রেকর্ড ফেরত দেয়।

MySQL CROSS JOIN Diagram

MySQL CROSS JOIN

CROSS JOIN সিনট্যাক্স

SELECT column_name(s)
FROM table1
CROSS JOIN table2;

⚠️দ্রষ্টব্য:

CROSS JOIN বিশাল ফলাফল সেট ফিরিয়ে দিতে পারে!

ডেমো ডাটাবেস

এই টিউটোরিয়ালে আমরা সুপরিচিত নর্থওয়াইন্ড নমুনা ডাটাবেস ব্যবহার করব।

নীচে "গ্রাহক" টেবিল থেকে একটি নির্বাচন দেওয়া হল:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

এবং "অর্ডার" টেবিল থেকে একটি নির্বাচন:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

মাইএসকিউএল ক্রস যোগদানের উদাহরণ

নিম্নলিখিত SQL বিবৃতি সমস্ত গ্রাহক এবং সমস্ত আদেশ নির্বাচন করে:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;

💡দ্রষ্টব্য:

অন্য টেবিলে মিল থাকুক বা না থাকুক, CROSS JOIN কীওয়ার্ড উভয় টেবিল থেকে সমস্ত মিলে যাওয়া রেকর্ড ফেরত দেয়। সুতরাং, যদি "গ্রাহকদের" মধ্যে এমন সারি থাকে যেগুলির "অর্ডার" এর সাথে কোনো মিল নেই, বা যদি "অর্ডার"-এ এমন সারি থাকে যার "গ্রাহকদের" মধ্যে কোনো মিল নেই, তাহলে সেই সারিগুলিও তালিকাভুক্ত হবে৷

আপনি যদি একটি WHERE ক্লজ যোগ করেন (যদি table1 এবং table2 এর মধ্যে সম্পর্ক থাকে), তাহলে CROSS JOIN INNER JOIN ক্লাসের মতো একই ফলাফল দেবে:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;

অনুশীলন করুন

নিম্নলিখিত SQL বিবৃতি বিবেচনা করুন:

SELECT * FROM Orders CROSS JOIN Customers

অর্ডারে 20টি রেকর্ড এবং গ্রাহকদের 10টি রেকর্ড থাকলে, কতটি রেকর্ড ফেরত দেওয়া হবে?

10
✗ ভুল! CROSS JOIN returns the Cartesian product of two tables, which is the product of the number of records
20
✗ ভুল! CROSS JOIN returns the Cartesian product of two tables, which is the product of the number of records
30
✗ ভুল! CROSS JOIN , ,
200
✓ ঠিক আছে! CROSS JOIN Orders (20) × Customers (10) = 200